package top.yxqz.springmvc.annotation.util;

import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * @author: 余小小
 * @date: 2023/5/18
 * @description：使用注解的方式来实现异常解析器
 * 使用注解的方式配置异常处理器和XML的方式配置异常处理器不会有冲突。
 * SpringMVC会优先使用注解的方式配置的异常处理器，如果找不到则使用XML方式配置的异常处理器。
 * 如果两种方式都配置了同一个异常类型的处理器，则以注解方式为准。
 */
@ControllerAdvice
public class MyErrorHandler {
    /**
     * 捕获：ArithmeticException
     * 1.指定出现异常要跳转的视图
     * 2.指定数据
     * @return
     */
    @ExceptionHandler(ArithmeticException.class)
    public String ArithmeticException(Model model) {
        model.addAttribute("error_msg", "你出现了0是分母的异常");
        return "index";
    }
}
